---
sidebar_custom_props:
  description: Interface with language models
sidebar_class_name: hidden
---

# Model I/O

The core element of any language model application is... the model. LangChain gives you the building blocks to interface with any language model.

![model_io_diagram](/img/model_io.jpg)

## [Conceptual Guide](/docs/modules/model_io/concepts)

A conceptual explanation of messages, prompts, LLMs vs ChatModels, and output parsers. You should read [this section](/docs/modules/model_io/concepts) before getting started.

## [Quick Start](/docs/modules/model_io/quick_start)

Covers the basics of getting started working with different types of models. You should walk through [this section](/docs/modules/model_io/quick_start) if you want to get an overview of the functionality.

## [Prompts](/docs/modules/model_io/prompts)

[This section](/docs/modules/model_io/prompts) deep dives into the different types of prompt templates and how to use them.

## [LLMs](/docs/modules/model_io/llms)

[This section](/docs/modules/model_io/llms) covers functionality related to the LLM class. This is a type of model that takes a text string as input and returns a text string.

## [ChatModels](/docs/modules/model_io/chat)

[This section](/docs/modules/model_io/chat) covers functionality related to the ChatModel class. This is a type of model that takes a list of messages as input and returns a message.

## [Output Parsers](/docs/modules/model_io/output_parsers)

Output parsers are responsible for transforming the output of LLMs and ChatModels into more structured data. [This section](/docs/modules/model_io/output_parsers) covers the different types of output parsers.
